[レポート] Unistore とネイティブアプリケーションによる次世代のデータ活用 #SnowflakeDB #SnowdayJapan
2023年02月14日(火)、ANAインターコンチネンタルホテル東京、ならびにオンライン配信のハイブリッド形式でSnowflakeのイベント「SNOWDAY JAPAN」が開催されました。
当エントリではその中で、ブレークアウトセッションとして開催された「Unistore とネイティブアプリケーションによる次世代のデータ活用」のレポートをお届けします。
セッション概要
当エントリで扱うレポートのセッション概要は以下の通りです。
Unistore とネイティブアプリケーションによる次世代のデータ活用
[登壇者]
・庄司 拓矢氏(Snowflake株式会社 セールスエンジニアリング本部 セールスエンジニア)
[セッション概要]
ユニストアとネイティブアプリケーションは、開発者がより速く、よりシンプルな方法でアプリケーションを構築、実行できるようにするSnowflakeの最新のイノベーションの2つです。このセッションでは、Snowflakeがこれらのテクノロジーを構築した理由、これらのテクノロジーが解決する課題、その仕組み、そしてこれらのテクノロジーを使った構築方法について学びます。また、2つの技術を組み合わせて、ユニストアをバックエンドとして活用したネイティブアプリケーションを紹介するデモをご紹介します。
セッションレポート
はじめに
- イベントキーノートでも発表のあった注目の二機能「Unistore(ユニストア)」と「ネイティブアプリケーション」についてお伝えする。
- 自己紹介:前職はBI製品やAI製品の活用支援/セールスエンジニア
ユニストアの紹介
構築した理由とその内容
- 所謂OLTP、トランザクション処理が行えるようなワークロード
- なぜユニストアが必要になったのか:顧客にインパクトを与える課題を解決するため。課題は大きく3つあった
- 異質なシステムが多すぎる:それぞれのデータセットにそれぞれの事情がある、管理に時間とコストが掛かっている
- データの移動が遅い:データセットとDWHを繋ぐデータパイプラインの作成と整備に時間が掛かる
- データのアクセスに時間が掛かる:複雑冗長な環境下だとリアルタイムデータ活用にも手間や制限が掛かる
- 「ユニストア」機能のリリース:単一のプラットフォームでトランザクションデータと分析データと組み合わせて利用出来る最新のアプローチ
- トランザクションのワークロード
- 単一のデータセット
- すべてをSnowflakeで
- ユニストアを実現するための機能について紹介
- Hybrid Table
- オペレーショナルクエリ、分析クエリ双方で抜群のパフォーマンスを発揮
- 重要なOLTP機能をサポート
- 既存Snowflakeテーブルとシームレスに統合
- 要求通りに機能/これまでの使い勝手と変わらず利用出来る
- テーブル作成時に
CREATE HYBRID TABLE
を宣言することで利用可能 - Snowflakeの3層構造におけるカラムストレージ層にHybrid Tableを配置し、カラム型ストレージと行ストレージを組み合わせて利用出来るようにした
- 行ストレージに一度データを格納した上で、優れた分析クエリのパフォーマンスを実現するためにバックグラウンドでカラム型ストレージにデータを同期している。これによりクラウドサービス側でクエリを検出した際に、パフォーマンスあるいは効率が最も高いデータストアが行ストアなのかカラム型ストアなのかを自動判別、Snowflakeが自動的にルーティングして処理している
- というような面倒な処理をSnowflake側で自動でやってくれる便利な機能。
- Hybrid Table
- ユニストアに関する公式・関連情報
- Unistore:1つのプラットフォームでトランザクションデータと分析データを組み合わせるSnowflakeの新しいワークロード
- Snowflakeユニストア | 分析データとトランザクションデータの統合
- Snowflake - Hybrid Table / Unistoreのパフォーマンスを検証してみた!
デモ
- デモではプライマリーキーを設定したHybrid Tableに対して一意制約エラーが発生することを確認するクエリを実行。
- また外部キーやインデックス、JOINに関する実演も実施。インデックスに関してはSnowflakeでは貼らないとしていたが、行レベルで分析するとなるとインデックスも必要となることから対応。インデックスを貼ったテーブルに対する検索が高速化出来ていることを確認していた。
ネイティブアプリケーションの紹介
構築した理由とその内容
- アプリケーションを構築、運用、販売するための新しい方法
- 何故ネイティブアプリケーションなのか
- 機密性の高いデータ
- コストの不整合
- 発見性
- マーケットプレイスを元に開発してもらうことで解決
- Snowflake環境下で開発・デプロイ・配布及び収益化までを完結
-
詳細な仕組みの紹介
-
ネイティブアプリケーションに関する公式・関連情報
デモ
- 「ユニストア」同様、ネイティブアプリケーションに関しても実際の操作を交えたデモ実演が行われた。
まとめ
という訳で、SNOWDAY JAPANブレークアウトセッション「Unistore とネイティブアプリケーションによる次世代のデータ活用」のレポートでした。大きく2つの機能が紹介された形ですが、いずれもSnowflakeを有効活用していくうえでとても便利な機能だなと感じました。説明の中でも言及されていましたがHybrid Tableに関しては「Snowflake側で良い感じに制御・対応してくれる」側面があるのが嬉しいところですね。